1. Technical Field
The invention relates to information distribution. More particularly, the invention relates to a method and apparatus for transmitting data in a data stream.
2. Description of the Prior Art
The term “Enhanced TV” refers to the delivery of additional data to a client beyond the current standards of audio, video, teletext, and subtitle data. These data may be used to enhance the viewing experience in many ways—they may be used to prompt the user to take certain actions, they may be used to place informational graphics on the screen, or they may be used to create truly interactive programming, where the viewer has a great deal of control over what appears on the screen. As a medium, Enhanced TV is still in its infancy, and many opportunities for applying the technology have yet to be explored.
The technology of Enhanced TV is one of distributing a shared user experience to many clients simultaneously. The user experience can be more dynamic, flexible, and interactive than pure audio or video experiences. This technology can be used without audio or video, or with audio or video alone.
There are several fundamental pieces of an Enhanced TV system. On the broadcast or head end side, there is a source, which is often a server or suite of servers that schedule and format the enhancement data. The data are then integrated into the audio and video data streams, and sent down to the end users' homes through a broadcast transmission system. The essential action of the source is the creation of a set of data for later distribution. Although the source is referred to in this document as a server, the source may not be a server in the strict sense. For instance, the source could be a software component that writes files to a disk for later broadcast, or annotates an MPEG file, or creates one or more proprietary files to be read by a transmission agent, such as a spooler.
On the end user side, there is a module in the television or set top box client in the viewer's home that interprets the enhanced TV data. This module may carry out commands in the data itself, or it may launch a dedicated application, referred to as an enhancement, which may have its own methods of listening to and interpreting the enhanced TV data.
In developing Enhanced TV systems and Enhanced TV content/enhancements, several issues arise:    1) Synchronization and Timing. Many enhancements rely on very close synchronization between the data stream as delivered to the enhancement and the audio/video shown to the user. For instance, a quiz show enhancement should not present questions until the on-screen announcer had announced them. Even if the audio/video data and the enhanced TV data are delivered to the set top box at the same time, they may take very different data paths internally. Different delays in these data paths create synchronization problems that are visible to the viewer. Delays may also come from other sources as well as the client, e.g. servers, networks, and transmission media all may introduce their own delays.    2) Interactions with other modules in the client. In many of the more modern and complex client systems, there are many modules besides the Enhanced TV module running concurrently. These modules may include an Electronic Program Guide (EPG), Video On Demand services, and billing systems, among others. Defining how the Enhanced TV module and its subservient enhancements interact with these other modules is non-trivial because some, but not all, of the capabilities of these other modules must be exposed to the Enhanced TV system. The picture is further complicated by the fact that different network operators have different needs, and wish to expose different pieces of the full system to the Enhanced TV subsystem. Network operators may additionally have different business relationships with different enhanced content providers, and may wish to expose or hide parts of the system based on those business relationships.    3) Distribution. Because Enhanced TV data is created to enhance television broadcasts, Enhanced TV data originate from many different sources, e.g. broadcasters and television content producers. Unlike conventional television programming, multiple enhancements may be active and consuming resources at the same time. It is important to be able to make sure enhancements from distributed and mutually unaware sources be able to run in a single integrated environment.    4) Loading. Because Enhanced TV data are often not resident on the client, and must be pulled off of a data stream, there is often a delay before the enhancement can be presented to the user. Furthermore, limitations of the client, server, and distribution mechanism may make it impossible to run the enhancement correctly. Such limitations may include memory or resource limitations on the client, and data delivery errors within the server and distribution mechanism. For the user experience, it is important that some amount of functionality of the enhancement be guaranteed before any notification of the enhancement is presented to the user.
It would be advantageous to provide a method and apparatus that addresses and resolves the issues currently affecting the ability to offer Enhanced TV, in particular, those issues concerning timing and synchronization, interaction with other modules in the STB, distribution, and loading.